package com.search.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ProjectInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProjectInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andPidIsNull() {
            addCriterion("pid is null");
            return (Criteria) this;
        }

        public Criteria andPidIsNotNull() {
            addCriterion("pid is not null");
            return (Criteria) this;
        }

        public Criteria andPidEqualTo(Short value) {
            addCriterion("pid =", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotEqualTo(Short value) {
            addCriterion("pid <>", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidGreaterThan(Short value) {
            addCriterion("pid >", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidGreaterThanOrEqualTo(Short value) {
            addCriterion("pid >=", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidLessThan(Short value) {
            addCriterion("pid <", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidLessThanOrEqualTo(Short value) {
            addCriterion("pid <=", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidIn(List<Short> values) {
            addCriterion("pid in", values, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotIn(List<Short> values) {
            addCriterion("pid not in", values, "pid");
            return (Criteria) this;
        }

        public Criteria andPidBetween(Short value1, Short value2) {
            addCriterion("pid between", value1, value2, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotBetween(Short value1, Short value2) {
            addCriterion("pid not between", value1, value2, "pid");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(String value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(String value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(String value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(String value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(String value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(String value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLike(String value) {
            addCriterion("type like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotLike(String value) {
            addCriterion("type not like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<String> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<String> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(String value1, String value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(String value1, String value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andNumIsNull() {
            addCriterion("num is null");
            return (Criteria) this;
        }

        public Criteria andNumIsNotNull() {
            addCriterion("num is not null");
            return (Criteria) this;
        }

        public Criteria andNumEqualTo(String value) {
            addCriterion("num =", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotEqualTo(String value) {
            addCriterion("num <>", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThan(String value) {
            addCriterion("num >", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThanOrEqualTo(String value) {
            addCriterion("num >=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThan(String value) {
            addCriterion("num <", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThanOrEqualTo(String value) {
            addCriterion("num <=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLike(String value) {
            addCriterion("num like", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotLike(String value) {
            addCriterion("num not like", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumIn(List<String> values) {
            addCriterion("num in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotIn(List<String> values) {
            addCriterion("num not in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumBetween(String value1, String value2) {
            addCriterion("num between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotBetween(String value1, String value2) {
            addCriterion("num not between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Boolean value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Boolean value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Boolean value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Boolean value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Boolean value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Boolean value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Boolean> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Boolean> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Boolean value1, Boolean value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Boolean value1, Boolean value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andStartdtIsNull() {
            addCriterion("startdt is null");
            return (Criteria) this;
        }

        public Criteria andStartdtIsNotNull() {
            addCriterion("startdt is not null");
            return (Criteria) this;
        }

        public Criteria andStartdtEqualTo(Date value) {
            addCriterion("startdt =", value, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtNotEqualTo(Date value) {
            addCriterion("startdt <>", value, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtGreaterThan(Date value) {
            addCriterion("startdt >", value, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtGreaterThanOrEqualTo(Date value) {
            addCriterion("startdt >=", value, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtLessThan(Date value) {
            addCriterion("startdt <", value, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtLessThanOrEqualTo(Date value) {
            addCriterion("startdt <=", value, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtIn(List<Date> values) {
            addCriterion("startdt in", values, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtNotIn(List<Date> values) {
            addCriterion("startdt not in", values, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtBetween(Date value1, Date value2) {
            addCriterion("startdt between", value1, value2, "startdt");
            return (Criteria) this;
        }

        public Criteria andStartdtNotBetween(Date value1, Date value2) {
            addCriterion("startdt not between", value1, value2, "startdt");
            return (Criteria) this;
        }

        public Criteria andEnddtIsNull() {
            addCriterion("enddt is null");
            return (Criteria) this;
        }

        public Criteria andEnddtIsNotNull() {
            addCriterion("enddt is not null");
            return (Criteria) this;
        }

        public Criteria andEnddtEqualTo(Date value) {
            addCriterion("enddt =", value, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtNotEqualTo(Date value) {
            addCriterion("enddt <>", value, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtGreaterThan(Date value) {
            addCriterion("enddt >", value, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtGreaterThanOrEqualTo(Date value) {
            addCriterion("enddt >=", value, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtLessThan(Date value) {
            addCriterion("enddt <", value, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtLessThanOrEqualTo(Date value) {
            addCriterion("enddt <=", value, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtIn(List<Date> values) {
            addCriterion("enddt in", values, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtNotIn(List<Date> values) {
            addCriterion("enddt not in", values, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtBetween(Date value1, Date value2) {
            addCriterion("enddt between", value1, value2, "enddt");
            return (Criteria) this;
        }

        public Criteria andEnddtNotBetween(Date value1, Date value2) {
            addCriterion("enddt not between", value1, value2, "enddt");
            return (Criteria) this;
        }

        public Criteria andFuzeIsNull() {
            addCriterion("fuze is null");
            return (Criteria) this;
        }

        public Criteria andFuzeIsNotNull() {
            addCriterion("fuze is not null");
            return (Criteria) this;
        }

        public Criteria andFuzeEqualTo(String value) {
            addCriterion("fuze =", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeNotEqualTo(String value) {
            addCriterion("fuze <>", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeGreaterThan(String value) {
            addCriterion("fuze >", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeGreaterThanOrEqualTo(String value) {
            addCriterion("fuze >=", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeLessThan(String value) {
            addCriterion("fuze <", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeLessThanOrEqualTo(String value) {
            addCriterion("fuze <=", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeLike(String value) {
            addCriterion("fuze like", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeNotLike(String value) {
            addCriterion("fuze not like", value, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeIn(List<String> values) {
            addCriterion("fuze in", values, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeNotIn(List<String> values) {
            addCriterion("fuze not in", values, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeBetween(String value1, String value2) {
            addCriterion("fuze between", value1, value2, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeNotBetween(String value1, String value2) {
            addCriterion("fuze not between", value1, value2, "fuze");
            return (Criteria) this;
        }

        public Criteria andFuzeidIsNull() {
            addCriterion("fuzeid is null");
            return (Criteria) this;
        }

        public Criteria andFuzeidIsNotNull() {
            addCriterion("fuzeid is not null");
            return (Criteria) this;
        }

        public Criteria andFuzeidEqualTo(String value) {
            addCriterion("fuzeid =", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidNotEqualTo(String value) {
            addCriterion("fuzeid <>", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidGreaterThan(String value) {
            addCriterion("fuzeid >", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidGreaterThanOrEqualTo(String value) {
            addCriterion("fuzeid >=", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidLessThan(String value) {
            addCriterion("fuzeid <", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidLessThanOrEqualTo(String value) {
            addCriterion("fuzeid <=", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidLike(String value) {
            addCriterion("fuzeid like", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidNotLike(String value) {
            addCriterion("fuzeid not like", value, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidIn(List<String> values) {
            addCriterion("fuzeid in", values, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidNotIn(List<String> values) {
            addCriterion("fuzeid not in", values, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidBetween(String value1, String value2) {
            addCriterion("fuzeid between", value1, value2, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andFuzeidNotBetween(String value1, String value2) {
            addCriterion("fuzeid not between", value1, value2, "fuzeid");
            return (Criteria) this;
        }

        public Criteria andRunuserIsNull() {
            addCriterion("runuser is null");
            return (Criteria) this;
        }

        public Criteria andRunuserIsNotNull() {
            addCriterion("runuser is not null");
            return (Criteria) this;
        }

        public Criteria andRunuserEqualTo(String value) {
            addCriterion("runuser =", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserNotEqualTo(String value) {
            addCriterion("runuser <>", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserGreaterThan(String value) {
            addCriterion("runuser >", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserGreaterThanOrEqualTo(String value) {
            addCriterion("runuser >=", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserLessThan(String value) {
            addCriterion("runuser <", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserLessThanOrEqualTo(String value) {
            addCriterion("runuser <=", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserLike(String value) {
            addCriterion("runuser like", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserNotLike(String value) {
            addCriterion("runuser not like", value, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserIn(List<String> values) {
            addCriterion("runuser in", values, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserNotIn(List<String> values) {
            addCriterion("runuser not in", values, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserBetween(String value1, String value2) {
            addCriterion("runuser between", value1, value2, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuserNotBetween(String value1, String value2) {
            addCriterion("runuser not between", value1, value2, "runuser");
            return (Criteria) this;
        }

        public Criteria andRunuseridIsNull() {
            addCriterion("runuserid is null");
            return (Criteria) this;
        }

        public Criteria andRunuseridIsNotNull() {
            addCriterion("runuserid is not null");
            return (Criteria) this;
        }

        public Criteria andRunuseridEqualTo(String value) {
            addCriterion("runuserid =", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridNotEqualTo(String value) {
            addCriterion("runuserid <>", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridGreaterThan(String value) {
            addCriterion("runuserid >", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridGreaterThanOrEqualTo(String value) {
            addCriterion("runuserid >=", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridLessThan(String value) {
            addCriterion("runuserid <", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridLessThanOrEqualTo(String value) {
            addCriterion("runuserid <=", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridLike(String value) {
            addCriterion("runuserid like", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridNotLike(String value) {
            addCriterion("runuserid not like", value, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridIn(List<String> values) {
            addCriterion("runuserid in", values, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridNotIn(List<String> values) {
            addCriterion("runuserid not in", values, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridBetween(String value1, String value2) {
            addCriterion("runuserid between", value1, value2, "runuserid");
            return (Criteria) this;
        }

        public Criteria andRunuseridNotBetween(String value1, String value2) {
            addCriterion("runuserid not between", value1, value2, "runuserid");
            return (Criteria) this;
        }

        public Criteria andProgressIsNull() {
            addCriterion("progress is null");
            return (Criteria) this;
        }

        public Criteria andProgressIsNotNull() {
            addCriterion("progress is not null");
            return (Criteria) this;
        }

        public Criteria andProgressEqualTo(Short value) {
            addCriterion("progress =", value, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressNotEqualTo(Short value) {
            addCriterion("progress <>", value, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressGreaterThan(Short value) {
            addCriterion("progress >", value, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressGreaterThanOrEqualTo(Short value) {
            addCriterion("progress >=", value, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressLessThan(Short value) {
            addCriterion("progress <", value, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressLessThanOrEqualTo(Short value) {
            addCriterion("progress <=", value, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressIn(List<Short> values) {
            addCriterion("progress in", values, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressNotIn(List<Short> values) {
            addCriterion("progress not in", values, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressBetween(Short value1, Short value2) {
            addCriterion("progress between", value1, value2, "progress");
            return (Criteria) this;
        }

        public Criteria andProgressNotBetween(Short value1, Short value2) {
            addCriterion("progress not between", value1, value2, "progress");
            return (Criteria) this;
        }

        public Criteria andViewuserIsNull() {
            addCriterion("viewuser is null");
            return (Criteria) this;
        }

        public Criteria andViewuserIsNotNull() {
            addCriterion("viewuser is not null");
            return (Criteria) this;
        }

        public Criteria andViewuserEqualTo(String value) {
            addCriterion("viewuser =", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserNotEqualTo(String value) {
            addCriterion("viewuser <>", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserGreaterThan(String value) {
            addCriterion("viewuser >", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserGreaterThanOrEqualTo(String value) {
            addCriterion("viewuser >=", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserLessThan(String value) {
            addCriterion("viewuser <", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserLessThanOrEqualTo(String value) {
            addCriterion("viewuser <=", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserLike(String value) {
            addCriterion("viewuser like", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserNotLike(String value) {
            addCriterion("viewuser not like", value, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserIn(List<String> values) {
            addCriterion("viewuser in", values, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserNotIn(List<String> values) {
            addCriterion("viewuser not in", values, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserBetween(String value1, String value2) {
            addCriterion("viewuser between", value1, value2, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuserNotBetween(String value1, String value2) {
            addCriterion("viewuser not between", value1, value2, "viewuser");
            return (Criteria) this;
        }

        public Criteria andViewuseridIsNull() {
            addCriterion("viewuserid is null");
            return (Criteria) this;
        }

        public Criteria andViewuseridIsNotNull() {
            addCriterion("viewuserid is not null");
            return (Criteria) this;
        }

        public Criteria andViewuseridEqualTo(String value) {
            addCriterion("viewuserid =", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridNotEqualTo(String value) {
            addCriterion("viewuserid <>", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridGreaterThan(String value) {
            addCriterion("viewuserid >", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridGreaterThanOrEqualTo(String value) {
            addCriterion("viewuserid >=", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridLessThan(String value) {
            addCriterion("viewuserid <", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridLessThanOrEqualTo(String value) {
            addCriterion("viewuserid <=", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridLike(String value) {
            addCriterion("viewuserid like", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridNotLike(String value) {
            addCriterion("viewuserid not like", value, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridIn(List<String> values) {
            addCriterion("viewuserid in", values, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridNotIn(List<String> values) {
            addCriterion("viewuserid not in", values, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridBetween(String value1, String value2) {
            addCriterion("viewuserid between", value1, value2, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andViewuseridNotBetween(String value1, String value2) {
            addCriterion("viewuserid not between", value1, value2, "viewuserid");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andOptidIsNull() {
            addCriterion("optid is null");
            return (Criteria) this;
        }

        public Criteria andOptidIsNotNull() {
            addCriterion("optid is not null");
            return (Criteria) this;
        }

        public Criteria andOptidEqualTo(Short value) {
            addCriterion("optid =", value, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidNotEqualTo(Short value) {
            addCriterion("optid <>", value, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidGreaterThan(Short value) {
            addCriterion("optid >", value, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidGreaterThanOrEqualTo(Short value) {
            addCriterion("optid >=", value, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidLessThan(Short value) {
            addCriterion("optid <", value, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidLessThanOrEqualTo(Short value) {
            addCriterion("optid <=", value, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidIn(List<Short> values) {
            addCriterion("optid in", values, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidNotIn(List<Short> values) {
            addCriterion("optid not in", values, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidBetween(Short value1, Short value2) {
            addCriterion("optid between", value1, value2, "optid");
            return (Criteria) this;
        }

        public Criteria andOptidNotBetween(Short value1, Short value2) {
            addCriterion("optid not between", value1, value2, "optid");
            return (Criteria) this;
        }

        public Criteria andOptnameIsNull() {
            addCriterion("optname is null");
            return (Criteria) this;
        }

        public Criteria andOptnameIsNotNull() {
            addCriterion("optname is not null");
            return (Criteria) this;
        }

        public Criteria andOptnameEqualTo(String value) {
            addCriterion("optname =", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameNotEqualTo(String value) {
            addCriterion("optname <>", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameGreaterThan(String value) {
            addCriterion("optname >", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameGreaterThanOrEqualTo(String value) {
            addCriterion("optname >=", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameLessThan(String value) {
            addCriterion("optname <", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameLessThanOrEqualTo(String value) {
            addCriterion("optname <=", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameLike(String value) {
            addCriterion("optname like", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameNotLike(String value) {
            addCriterion("optname not like", value, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameIn(List<String> values) {
            addCriterion("optname in", values, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameNotIn(List<String> values) {
            addCriterion("optname not in", values, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameBetween(String value1, String value2) {
            addCriterion("optname between", value1, value2, "optname");
            return (Criteria) this;
        }

        public Criteria andOptnameNotBetween(String value1, String value2) {
            addCriterion("optname not between", value1, value2, "optname");
            return (Criteria) this;
        }

        public Criteria andOptdtIsNull() {
            addCriterion("optdt is null");
            return (Criteria) this;
        }

        public Criteria andOptdtIsNotNull() {
            addCriterion("optdt is not null");
            return (Criteria) this;
        }

        public Criteria andOptdtEqualTo(Date value) {
            addCriterion("optdt =", value, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtNotEqualTo(Date value) {
            addCriterion("optdt <>", value, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtGreaterThan(Date value) {
            addCriterion("optdt >", value, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtGreaterThanOrEqualTo(Date value) {
            addCriterion("optdt >=", value, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtLessThan(Date value) {
            addCriterion("optdt <", value, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtLessThanOrEqualTo(Date value) {
            addCriterion("optdt <=", value, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtIn(List<Date> values) {
            addCriterion("optdt in", values, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtNotIn(List<Date> values) {
            addCriterion("optdt not in", values, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtBetween(Date value1, Date value2) {
            addCriterion("optdt between", value1, value2, "optdt");
            return (Criteria) this;
        }

        public Criteria andOptdtNotBetween(Date value1, Date value2) {
            addCriterion("optdt not between", value1, value2, "optdt");
            return (Criteria) this;
        }

        public Criteria andAdddtIsNull() {
            addCriterion("adddt is null");
            return (Criteria) this;
        }

        public Criteria andAdddtIsNotNull() {
            addCriterion("adddt is not null");
            return (Criteria) this;
        }

        public Criteria andAdddtEqualTo(Date value) {
            addCriterion("adddt =", value, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtNotEqualTo(Date value) {
            addCriterion("adddt <>", value, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtGreaterThan(Date value) {
            addCriterion("adddt >", value, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtGreaterThanOrEqualTo(Date value) {
            addCriterion("adddt >=", value, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtLessThan(Date value) {
            addCriterion("adddt <", value, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtLessThanOrEqualTo(Date value) {
            addCriterion("adddt <=", value, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtIn(List<Date> values) {
            addCriterion("adddt in", values, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtNotIn(List<Date> values) {
            addCriterion("adddt not in", values, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtBetween(Date value1, Date value2) {
            addCriterion("adddt between", value1, value2, "adddt");
            return (Criteria) this;
        }

        public Criteria andAdddtNotBetween(Date value1, Date value2) {
            addCriterion("adddt not between", value1, value2, "adddt");
            return (Criteria) this;
        }

        public Criteria andSortIsNull() {
            addCriterion("sort is null");
            return (Criteria) this;
        }

        public Criteria andSortIsNotNull() {
            addCriterion("sort is not null");
            return (Criteria) this;
        }

        public Criteria andSortEqualTo(Short value) {
            addCriterion("sort =", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotEqualTo(Short value) {
            addCriterion("sort <>", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThan(Short value) {
            addCriterion("sort >", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThanOrEqualTo(Short value) {
            addCriterion("sort >=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThan(Short value) {
            addCriterion("sort <", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThanOrEqualTo(Short value) {
            addCriterion("sort <=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortIn(List<Short> values) {
            addCriterion("sort in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotIn(List<Short> values) {
            addCriterion("sort not in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortBetween(Short value1, Short value2) {
            addCriterion("sort between", value1, value2, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotBetween(Short value1, Short value2) {
            addCriterion("sort not between", value1, value2, "sort");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}